package com.ost.kautilya.modeling;

import java.io.Serializable;

public enum EvaluationMetric implements Serializable {
	CORRECT("Correctly Processed Count"),
	INCORRECT("Failed Processing Count"),
	RELATIVE_ABSOLUTE_ERROR("Relative Absolute Error"),
	ROOT_MEAN_SQUARED_ERROR("Root Mean Squared Error"),
	KAPPA_MEAN("Kappa Mean"),
	AVERAGE_COST("Average Cost"),
	CORRELATION_COEFFICIENT("Correlation Coefficient"),
	COVERAGE_OF_TEST_CASES_BY_PREDICTED_REGION(
			"Coverage of test cases by predicted region"),
	ERROR_RATE("Error rate"),
	KB_INFORMATION("KB Information"),
	KB_MEAN_INFORMATION("KB mean information"),
	KB_RELATIVE_INFORMATION("KB relative information"),
	MEAN_ABSOLUTE_ERROR("Mean absolute error"),
	MEAN_PRIOR_ABSOLUTE_ERROR("Mean prior absolute error"),
	NUMBER_OF_INSTANCES("Number of instances"),
	PCT_CORRECT("PCT correct"),
	PCT_INCORRECT("PCT incorrect"),
	PCT_UNCLASSIFIED("PCT unclassified"),
	PRIOR_ENTROPY("Prior entropy"),
	ROOT_MEAN_PRIOR_SQUARRED_ERROR("Root mean prior squared error"),
	ROOT_RELATIVE_SQUARRED_ERROR("Root relative squared error"),
	SF_ENTROPY_GAIN("SF Entropy gain"),
	SF_MEAN_ENTROPY_GAIN("SF mean entropy gain"),
	SF_MEAN_PRIOR_ENTROPY("SF mean prior entropy gain"),
	SF_MEAN_SCHEME_ENTROPY("SF Mean scheme entropy"),
	SF_SCHEME_ENTROPY("SF Scheme entropy"),
	SF_PRIOR_ENTROPY("SF Prior entropy"),
	TOTAL_COST("Total cost"),
	UNCLASSIFIED("Unclassified"),
	UNWEIGHTED_MACRO_F_MEASURE("Unweighted macro F Measure"),
	UNWEIGHTED_MICRO_F_MEASURE("Unweighted Micro F Measure"),
	WEIGHTED_FALSE_NEGATIVE_RATE("Weighted FNR"),
	WEIGHTED_FALSE_POSITIVE_RATE("Weighted FPR"),
	WEIGHTED_F_MEASURE("Weighted F Measure"),
	WEIGHTED_MATTHEWS_CORRELATION("Weighted Matthews Correlation"),
	WEIGHTED_PRECISION("Weighted Precision"),
	WEIGHTED_RECALL("Weighted Recall"),
	WEIGHTED_TRUE_NEGATIVE_RATE("Weighted TNR"),
	WEIGHTED_TRUE_POSITIVE_RATE("Weighted TPR"),
	LOG_LIKELIHOOD("Log Liklihood"),
	NUMBER_OF_CLUSTERS("Number of Clusters"), SUM_OF_ERRORS ("Sum of ERROR(s)");

	private final String desc;

	private EvaluationMetric(String desc) {
		this.desc = desc;
	}

	public String getDescription() {
		return desc;
	}
}
